var mysql = require('mysql');//导入mysql

var pool = mysql.createPool({//mysql创建连接池
    connectionLimit:10,//最大连接数
    host:"127.0.0.1",
    user:"root",
    port:"3306",//默认端口号
    password:"123",
    database:"mi" //连接那个数据库
});
function query(sql,params = []){ //es6语法array = [] //如果没有传array，默认为[]//es5语法array = array || [];
    //返回Promise对象是一个函数并且有两个参数，两个都是一个函数，成功改变resolve状态，失败改变reject状态
    return new Promise((resolve,reject) =>{//promise对象一般执行异步操作方法//成功.then//失败.catch
        pool.getConnection((err,connection) =>{//pool.getConnection这个函数去申请连接数据库，如果成功err为空
            if(err){//不为空，有错
                reject(err);//有错就改变reject的状态
                return;//返回不往下执行
            }
            connection.query(sql,params,(err,results,fields) =>{//成功之后去申请数据库里的表//results成功的数据
                connection.release();//把连接放回连接池
                if(err) reject(err);//如果连接的表有错，返回错误
                else resolve(results);//否则返回成功的数据
            });
        });
    });
}
module.exports = query;//导出函数